<h1>Постановка задачи</h1>

Целью является создание программы на языке 
объектно-ориентированного программирования С++, реализующей нахождения 
всех островов при помощи матрицы 10x10 заданной пользователем, или сгенерерованной программой 
состоящей из нулей и единиц, где 0-море,1-суша.

<h1>2. Описание программы</h1>

<h2>2.1 Среда разработки программы</h2>

 Программа реализована в среде разработки Microsoft Visual Studio 2012 
на языке объектно-ориентированного программирования С++ с применением библиотек
 \<iostream>,\<clocale>,<conio.h>,<process.h>,\<cstdlib>, и \<ctime>. 
 Библиотека <iostream> используется для  организации ввода-вывода 
 в языке программирования С++, библиотека \<clocale> используется 
 для русифицирования потоков ввода и вывода, библиотека \<cstdlib> 
 используется для задания начального значения генератору случайных чисел, 
 библиотека \<ctime> используется для генератора случайных чисел. 

<h2>2.2 Алгоритм решения задачи</h2>

<h3>2.2.1 Блок-схема алгоритма</h3>

В данном разделе приводится графическая блок-схема алгоритма решения задачи.
![image](https://github.com/Mark65537/IslandProblem/blob/main/images/blok.png)
Пример:
На рис.1. приведена графическая блок-схема алгоритма нахождения островов на карте.
 
<h3>2.2.2 Описание алгоритма решения задачи</h3>

При запуске программа предлагает вам выбрать вариант задания матрицы 
Приведем последовательность действий алгоритма работы программы:<br>
1. выбор варианта задания матрицы<p>
2. Затем выводится матрица<p>
3. Ищется первый элемент суши,если суши нет ,выводится “karta empty” и программа завершается<p>
 4. элементы карты заменяются на соответствующее значение ячейки count <p>
5. корректировка исключительного случая<p>
6. выводим результат

<h3>2.2.3 Описание основных функций программы</h3>

Main- в этой функции программа предлагает вам выбор,как вы хотите построить карту.<p>
First-функция для замены первого элемента суши на 2,если не существует первого элемента, то программа завершает свое действие.<p>
Zadom-функция для вывода карты.<p>
Random-функция с помощью которой строица матрица случайных чисел от 0-1.<p>
 Zapis2-функция которая проверяет на истинность функции up и backward,если хоть одна из этих функций верна, то тогда продолжается цикл поиска суши,а если не верна, то данному элементу присваивается значение count.<p>
Up-булевская функция проверки,если сверху существует элемент больше единицы то этот элемент заменяет текущий.<p>
Backward- булевская функция проверки,если слево существует элемент больше единицы то этот элемент заменяет текущий.<p>
Down-функция проверяет соответствие между текущим и левым элементом,запоминает их значение и передает в функцию change.<p>
Change-функция для замены переменных которые передаются в функцию.<p>
Vivod-функция для вывода номера острова,количество элементов в острове и его координат.

<h1>3. Примеры результатов работы программы</h1>
 
![image](https://github.com/Mark65537/IslandProblem/blob/main/images/example1.png)
 
 ![image](https://github.com/Mark65537/IslandProblem/blob/main/images/example2.png)
 
 ![image](https://github.com/Mark65537/IslandProblem/blob/main/images/example3.png)
